package com.zjl.redis.第06章_SpringBoot整合redis;

/**
 * jedis 和 Lettuce 都是Redis的客户端，它们都可以连接Redis服务器,
 * 但是在SpringBoot2 .0之后默认都是使用的Lettuce这个客户端连接Redis服务器。
 * 因为当使用Jedis客户端连接Redis服务器的时候，
 * 每个线程都要拿自己创建的Jedis实例去连接Redis客户端，当有很多个线程的时候,
 * 不仅开销大需要反复的创建关闭一个Jedis连接，而且也是线程不安全的，
 * 一个线程通过Jedis实例更改Redis服务器中的数据之后会影响另一个线程;
 * 但是如果使用 Lettuce 这个客户端连接Redis服务器的时候，就不会出现上面的情况，
 * Lettuce 底层使用的是 Netty,当有多个线程都需要连接Redis服务器的时候，
 * 可以保证只创建一个Lettuce连接，使所有的线程共享这一个Lettuce连接,
 * 这样可以减少创建关闭一个Lettuce连接时候的开销;
 * 而且这种方式也是线程安全的，不会出现一个线程通过Lettuce更改Redis服务器中的数据之后而影响另一个线程的情况;
 *
 *
 * 简单来说
 *      jedis一个一个连接，刚开始没连接池
 *      Lettuce 使用 Netty 只创建一个Lettuce连接，使所有的线程共享这一个Lettuce连接
 *      而且线程安全
 *      RedisTemplate 是spring搞得底层就是 Lettuce
 */
public class E_三者区别 {
    public static void main(String[] args) {

    }
}
